<!DOCTYPE html>
<html lang="en">
<head prefix="og: http://ogp.me/ns#">
  <meta charset="utf-8">
  <title>Events | Hexo</title>
  <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <!-- Canonical links -->
  <link rel="canonical" href="https://hexo.io/api/events.html">
  <!-- Alternative links -->
  
    
      <link rel="alternative" hreflang="en" href="https://hexo.io/api/events.html">
    
      <link rel="alternative" hreflang="zh-tw" href="https://hexo.io/zh-tw/api/events.html">
    
      <link rel="alternative" hreflang="zh-cn" href="https://hexo.io/zh-cn/api/events.html">
    
      <link rel="alternative" hreflang="ru" href="https://hexo.io/ru/api/events.html">
    
      <link rel="alternative" hreflang="ko" href="https://hexo.io/ko/api/events.html">
    
  
  <!-- Icon -->
  <link rel="apple-touch-icon" sizes="57x57" href="/icon/apple-touch-icon-57x57.png">
  <link rel="apple-touch-icon" sizes="114x114" href="/icon/apple-touch-icon-114x114.png">
  <link rel="apple-touch-icon" sizes="72x72" href="/icon/apple-touch-icon-72x72.png">
  <link rel="apple-touch-icon" sizes="144x144" href="/icon/apple-touch-icon-144x144.png">
  <link rel="apple-touch-icon" sizes="60x60" href="/icon/apple-touch-icon-60x60.png">
  <link rel="apple-touch-icon" sizes="120x120" href="/icon/apple-touch-icon-120x120.png">
  <link rel="apple-touch-icon" sizes="76x76" href="/icon/apple-touch-icon-76x76.png">
  <link rel="apple-touch-icon" sizes="152x152" href="/icon/apple-touch-icon-152x152.png">
  <link rel="icon" type="image/png" href="/icon/favicon-196x196.png" sizes="196x196">
  <link rel="icon" type="image/png" href="/icon/favicon-160x160.png" sizes="160x160">
  <link rel="icon" type="image/png" href="/icon/favicon-96x96.png" sizes="96x96">
  <link rel="icon" type="image/png" href="/icon/favicon-16x16.png" sizes="16x16">
  <link rel="icon" type="image/png" href="/icon/favicon-32x32.png" sizes="32x32">
  <meta name="msapplication-TileColor" content="#2f83cd">
  <meta name="msapplication-TileImage" content="/icon/mstile-144x144.png">
  <!-- CSS -->
  <!-- build:css build/css/navy.css -->
  <link rel="stylesheet" href="/css/navy.css">
  <!-- endbuild -->
  <link href="https://fonts.googleapis.com/css?family=Lato:300,400,700" rel="stylesheet" type="text/css">
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css">
  <link rel="stylesheet" href="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.css">
  <!-- RSS -->
  <link rel="alternate" href="/atom.xml" title="Hexo">
  <!-- Open Graph -->
  <meta name="description" content="Hexo inherits from EventEmitter. Use the on method to listen for events emitted by Hexo, and use the emit method to emit events. For more information, refer to the Node.js API documentation. deployBef">
<meta property="og:type" content="website">
<meta property="og:title" content="Events">
<meta property="og:url" content="https://hexo.io/api/events.html">
<meta property="og:site_name" content="Hexo">
<meta property="og:description" content="Hexo inherits from EventEmitter. Use the on method to listen for events emitted by Hexo, and use the emit method to emit events. For more information, refer to the Node.js API documentation. deployBef">
<meta property="og:locale" content="en">
<meta property="og:updated_time" content="2017-12-06T21:52:16.000Z">
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="Events">
<meta name="twitter:description" content="Hexo inherits from EventEmitter. Use the on method to listen for events emitted by Hexo, and use the emit method to emit events. For more information, refer to the Node.js API documentation. deployBef">
<meta name="twitter:site" content="hexojs">
<meta property="fb:admins" content="100000247608790">
  <!-- Google Analytics -->
  
<script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-48498357-3', 'auto');
  ga('send', 'pageview');
</script>

</head>

<body>
  <div id="container">
    <header id="header" class="wrapper">
  <div id="header-inner" class="inner">
    <h1 id="logo-wrap">
      <a href="/" id="logo">Hexo</a>
    </h1>
    <nav id="main-nav">
      <a href="/docs/" class="main-nav-link">Docs</a><a href="/api/" class="main-nav-link">API</a><a href="/news/" class="main-nav-link">News</a><a href="/plugins/" class="main-nav-link">Plugins</a><a href="/themes/" class="main-nav-link">Themes</a>
      <a href="https://github.com/hexojs/hexo" class="main-nav-link"><i class="fa fa-github-alt"></i></a>
      <div id="search-input-wrap">
        <div id="search-input-icon">
          <i class="fa fa-search"></i>
        </div>
        <input type="search" id="search-input" placeholder="Search...">
      </div>
    </nav>
    <div id="lang-select-wrap">
      <label id="lang-select-label"><i class="fa fa-globe"></i><span>English</span></label>
      <select id="lang-select" data-canonical="api/events.html">
        
          <option value="en" selected>English</option>
        
          <option value="zh-tw">正體中文</option>
        
          <option value="zh-cn">简体中文</option>
        
          <option value="ru">Русский</option>
        
          <option value="ko">한국어</option>
        
      </select>
    </div>
    <a id="mobile-nav-toggle">
      <span class="mobile-nav-toggle-bar"></span>
      <span class="mobile-nav-toggle-bar"></span>
      <span class="mobile-nav-toggle-bar"></span>
    </a>
  </div>
</header>

    <div id="content-wrap">
  <div id="content" class="wrapper">
    <div id="content-inner">
      <article class="article-container" itemscope itemtype="http://schema.org/Article">
        <div class="article-inner">
          <div class="article">
            <div class="inner">
              <header class="article-header">
                <h1 class="article-title" itemprop="name">Events</h1>
                <a href="https://github.com/hexojs/site/edit/master/source/api/events.md" class="article-edit-link" title="Improve this doc"><i class="fa fa-pencil"></i></a>
              </header>
              <div class="article-content" itemprop="articleBody">
                <p>Hexo inherits from <a href="http://nodejs.org/api/events.html" target="_blank" rel="noopener">EventEmitter</a>. Use the <code>on</code> method to listen for events emitted by Hexo, and use the <code>emit</code> method to emit events. For more information, refer to the Node.js API documentation.</p>
<h3 id="deployBefore" class="article-heading"><a href="#deployBefore" class="headerlink" title="deployBefore"></a>deployBefore<a class="article-anchor" href="#deployBefore" aria-hidden="true"></a></h3><p>Emitted before deployment begins.</p>
<h3 id="deployAfter" class="article-heading"><a href="#deployAfter" class="headerlink" title="deployAfter"></a>deployAfter<a class="article-anchor" href="#deployAfter" aria-hidden="true"></a></h3><p>Emitted after deployment finishes.</p>
<h3 id="exit" class="article-heading"><a href="#exit" class="headerlink" title="exit"></a>exit<a class="article-anchor" href="#exit" aria-hidden="true"></a></h3><p>Emitted before Hexo exits.</p>
<h3 id="generateBefore" class="article-heading"><a href="#generateBefore" class="headerlink" title="generateBefore"></a>generateBefore<a class="article-anchor" href="#generateBefore" aria-hidden="true"></a></h3><p>Emitted before generation begins.</p>
<h3 id="generateAfter" class="article-heading"><a href="#generateAfter" class="headerlink" title="generateAfter"></a>generateAfter<a class="article-anchor" href="#generateAfter" aria-hidden="true"></a></h3><p>Emitted after generation finishes.</p>
<h3 id="new" class="article-heading"><a href="#new" class="headerlink" title="new"></a>new<a class="article-anchor" href="#new" aria-hidden="true"></a></h3><p>Emitted after a new post has been created. This event returns the post data:</p>
<figure class="highlight js"><table><tr><td class="code"><pre><span class="line">hexo.on(<span class="string">'new'</span>, <span class="function"><span class="keyword">function</span>(<span class="params">post</span>)</span>&#123;</span><br><span class="line">  <span class="comment">//</span></span><br><span class="line">&#125;);</span><br></pre></td></tr></table></figure>
<table>
<thead>
<tr>
<th>Data</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>post.path</code></td>
<td>Full path of the post file</td>
</tr>
<tr>
<td><code>post.content</code></td>
<td>Content of the post file</td>
</tr>
</tbody>
</table>
<h3 id="processBefore" class="article-heading"><a href="#processBefore" class="headerlink" title="processBefore"></a>processBefore<a class="article-anchor" href="#processBefore" aria-hidden="true"></a></h3><p>Emitted before processing begins. This event returns a path representing the root directory of the box.</p>
<h3 id="processAfter" class="article-heading"><a href="#processAfter" class="headerlink" title="processAfter"></a>processAfter<a class="article-anchor" href="#processAfter" aria-hidden="true"></a></h3><p>Emitted after processing finishes. This event returns a path representing the root directory of the box.</p>
<h3 id="ready" class="article-heading"><a href="#ready" class="headerlink" title="ready"></a>ready<a class="article-anchor" href="#ready" aria-hidden="true"></a></h3><p>Emitted after initialization finishes.</p>

              </div>
              <footer class="article-footer">
                <time class="article-footer-updated" datetime="2017-12-06T21:52:16.000Z" itemprop="dateModified">Last updated: 2017-12-06</time>
                <a href="index.html" class="article-footer-prev" title="Overview"><i class="fa fa-chevron-left"></i><span>Prev</span></a><a href="locals.html" class="article-footer-next" title="Locals"><span>Next</span><i class="fa fa-chevron-right"></i></a>
              </footer>
              
<section id="comments">
  <div id="disqus_thread"></div>
</section>
<script>
  var disqus_shortname = 'hexojs';
  var disqus_url = 'https://hexo.io/api/events.html';
  var disqus_title = "Events";
  var disqus_config = function(){
    this.language = 'en';
  };
  (function(){
    var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
    dsq.src = 'https://go.disqus.com/embed.js';
    (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
  })();
</script>

            </div>
          </div>
          <aside id="article-toc" role="navigation">
            <div id="article-toc-inner">
              <script async type="text/javascript" src="//cdn.carbonads.com/carbon.js?zoneid=1673&serve=C6AILKT&placement=hexoio" id="_carbonads_js"></script>
              <strong class="sidebar-title">Contents</strong>
              <ol class="toc"><li class="toc-item toc-level-3"><a class="toc-link" href="#deployBefore"><span class="toc-text"><a href="#deployBefore" class="headerlink" title="deployBefore"></a>deployBefore</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#deployAfter"><span class="toc-text"><a href="#deployAfter" class="headerlink" title="deployAfter"></a>deployAfter</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#exit"><span class="toc-text"><a href="#exit" class="headerlink" title="exit"></a>exit</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#generateBefore"><span class="toc-text"><a href="#generateBefore" class="headerlink" title="generateBefore"></a>generateBefore</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#generateAfter"><span class="toc-text"><a href="#generateAfter" class="headerlink" title="generateAfter"></a>generateAfter</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#new"><span class="toc-text"><a href="#new" class="headerlink" title="new"></a>new</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#processBefore"><span class="toc-text"><a href="#processBefore" class="headerlink" title="processBefore"></a>processBefore</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#processAfter"><span class="toc-text"><a href="#processAfter" class="headerlink" title="processAfter"></a>processAfter</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#ready"><span class="toc-text"><a href="#ready" class="headerlink" title="ready"></a>ready</span></a></li></ol>
              <a href="#" id="article-toc-top">Back to Top</a>
            </div>
          </aside>
        </div>
      </article>
      <aside id="sidebar" role="navigation">
  <div class="inner">
    <strong class="sidebar-title">Core</strong><a href="index.html" class="sidebar-link">Overview</a><a href="events.html" class="sidebar-link current">Events</a><a href="locals.html" class="sidebar-link">Locals</a><a href="router.html" class="sidebar-link">Router</a><a href="box.html" class="sidebar-link">Box</a><a href="rendering.html" class="sidebar-link">Rendering</a><a href="posts.html" class="sidebar-link">Posts</a><a href="scaffolds.html" class="sidebar-link">Scaffolds</a><a href="themes.html" class="sidebar-link">Themes</a><strong class="sidebar-title">Extensions</strong><a href="console.html" class="sidebar-link">Console</a><a href="deployer.html" class="sidebar-link">Deployer</a><a href="filter.html" class="sidebar-link">Filter</a><a href="generator.html" class="sidebar-link">Generator</a><a href="helper.html" class="sidebar-link">Helper</a><a href="migrator.html" class="sidebar-link">Migrator</a><a href="processor.html" class="sidebar-link">Processor</a><a href="renderer.html" class="sidebar-link">Renderer</a><a href="tag.html" class="sidebar-link">Tag</a>
  </div>
</aside>
    </div>
  </div>
</div>

    <footer id="footer" class="wrapper">
  <div class="inner">
    <div id="footer-copyright">
      &copy; 2017 <a href="https://github.com/hexojs/hexo/graphs/contributors" target="_blank">Hexo</a><br>
      Documentation licensed under <a href="http://creativecommons.org/licenses/by/4.0/" target="_blank">CC BY 4.0</a>.
    </div>
    <div id="footer-links">
      <a href="https://twitter.com/hexojs" class="footer-link" target="_blank"><i class="fa fa-twitter"></i></a>
      <a href="https://github.com/hexojs/hexo" class="footer-link" target="_blank"><i class="fa fa-github-alt"></i></a>
    </div>
  </div>
</footer>

  </div>
  <div id="mobile-nav-dimmer"></div>
  <nav id="mobile-nav">
  <div id="mobile-nav-inner">
    <ul id="mobile-nav-list">
      <a href="/docs/" class="mobile-nav-link">Docs</a><a href="/api/" class="mobile-nav-link">API</a><a href="/news/" class="mobile-nav-link">News</a><a href="/plugins/" class="mobile-nav-link">Plugins</a><a href="/themes/" class="mobile-nav-link">Themes</a>
      <li class="mobile-nav-item">
        <a href="https://github.com/hexojs/hexo" class="mobile-nav-link" rel="external" target="_blank">GitHub</a>
      </li>
    </ul>
    
      <strong class="mobile-nav-title">Core</strong><a href="index.html" class="mobile-nav-link">Overview</a><a href="events.html" class="mobile-nav-link current">Events</a><a href="locals.html" class="mobile-nav-link">Locals</a><a href="router.html" class="mobile-nav-link">Router</a><a href="box.html" class="mobile-nav-link">Box</a><a href="rendering.html" class="mobile-nav-link">Rendering</a><a href="posts.html" class="mobile-nav-link">Posts</a><a href="scaffolds.html" class="mobile-nav-link">Scaffolds</a><a href="themes.html" class="mobile-nav-link">Themes</a><strong class="mobile-nav-title">Extensions</strong><a href="console.html" class="mobile-nav-link">Console</a><a href="deployer.html" class="mobile-nav-link">Deployer</a><a href="filter.html" class="mobile-nav-link">Filter</a><a href="generator.html" class="mobile-nav-link">Generator</a><a href="helper.html" class="mobile-nav-link">Helper</a><a href="migrator.html" class="mobile-nav-link">Migrator</a><a href="processor.html" class="mobile-nav-link">Processor</a><a href="renderer.html" class="mobile-nav-link">Renderer</a><a href="tag.html" class="mobile-nav-link">Tag</a>
    
  </div>
  <div id="mobile-lang-select-wrap">
    <span id="mobile-lang-select-label"><i class="fa fa-globe"></i><span>English</span></span>
    <select id="mobile-lang-select" data-canonical="api/events.html">
      
        <option value="en" selected>English</option>
      
        <option value="zh-tw">正體中文</option>
      
        <option value="zh-cn">简体中文</option>
      
        <option value="ru">Русский</option>
      
        <option value="ko">한국어</option>
      
    </select>
  </div>
</nav>
  <!-- Scripts -->
<!-- build:js build/js/main.js -->
<script src="/js/lang_select.js"></script>
<script src="/js/toc.js"></script>
<script src="/js/mobile_nav.js"></script>
<!-- endbuild -->

<!-- Algolia -->

<script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script>
<script type="text/javascript">
document.getElementById('search-input-wrap').classList.add('on');
docsearch({
  apiKey: 'c3d5d4c995b5e0c2ffb5623900279a66',
  indexName: 'hexo',
  inputSelector: '#search-input'
});
</script>


</body>
</html>